Webframeworkk/ASP.NET Core/Http

1. Was ist HTTP?

HTTP (Hypertext Transfer Protocol) ist das grundlegende Protokoll für die Kommunikation im Web. Es arbeitet nach dem Client-Server-Modell: Ein Client (z.B. Browser) sendet eine Anfrage, der Server antwortet mit Ressourcen oder Fehlermeldungen. HTTP ist zustandslos – jeder Request ist unabhängig.

2. HTTP-Server und Kestrel

Ein HTTP-Server verarbeitet Anfragen und sendet Antworten. Beispiele: Apache, Nginx, IIS, Kestrel (ASP.NET Core). Kestrel ist ein moderner, plattformübergreifender Webserver für ASP.NET Core.

3. Ablauf einer HTTP-Anfrage in ASP.NET Core

  1. Client sendet HTTP-Anfrage.
  2. Kestrel empfängt die Anfrage und leitet sie durch die Middleware-Pipeline.
  3. Middleware verarbeitet die Anfrage und gibt sie an die Anwendung weiter.
  4. Die Anwendung generiert eine Antwort.
  5. Kestrel sendet die Antwort zurück an den Client.

4. HTTP-Requests und -Responses

  • Request: Enthält Methode (GET, POST, etc.), URI, Version, Header und optional einen Body.
  • Response: Enthält Version, Statuscode, Header und optional einen Body.

Beispiel für eine HTTP-Response

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 137
<html>
<body>
<h1>Hello, World!</h1>
</body>
</html>

5. Wichtige Statuscodes

  • 200 OK: Erfolg
  • 201 Created: Ressource erstellt
  • 400 Bad Request: Syntaxfehler
  • 401 Unauthorized: Authentifizierung nötig
  • 404 Not Found: Ressource nicht gefunden
  • 500 Internal Server Error: Serverfehler

6. Header und Statuscodes in ASP.NET Core setzen

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.Run(async (HttpContext context) =>
{
    context.Response.Headers["Content-Type"] = "text/html";
    context.Response.StatusCode = 200;
    await context.Response.WriteAsync("<h1>Hello</h1><h2>World</h2>");
});

app.Run();

7. Zugriff auf Request-Informationen

app.Run(async (HttpContext context) =>
{
    string path = context.Request.Path;
    string method = context.Request.Method;
    context.Response.Headers["Content-Type"] = "text/html";
    await context.Response.WriteAsync($"<p>{path}</p><p>{method}</p>");
});

8. GET vs. POST

  • GET: Daten abfragen, Parameter in der URL, idempotent, cachbar.
  • POST: Daten senden, Parameter im Body, nicht idempotent, nicht cachbar.

9. Testen mit Postman

Postman ist ein Tool zum Testen von HTTP-Anfragen. Damit können Sie Ihre ASP.NET Core Endpunkte einfach testen und die Antworten analysieren.

10. Zusammenfassung

HTTP ist das Rückgrat des Webs. ASP.NET Core und Kestrel bieten eine moderne Plattform für Webanwendungen. Mit Middleware, Statuscodes und Headern können Sie flexibel auf Anfragen reagieren und Antworten gestalten.

Weblinks


Kategorien: Keine
Zuletzt aktualisiert am 15.02.2026 23:36